#pragma once
#include "IMenuState.h"

class CSaveGameState :
	public CIMenuState
{
public:
	enum SaveState{ SAVE, LOAD, DEFAULT };

	static  CSaveGameState* GetInstance(void);

	virtual void Enter(void);
	virtual void Exit(void);

	virtual bool Input(void);
	virtual void Update(float elapsedTime);
	virtual void Render(void);
	void Save(int slot);
	void Load(int slot);

	void SetRed() { tempRed++; }
	void SetBlue() { tempBlue++; }

private:
	CSaveGameState() = default;
	~CSaveGameState() = default;

	CSaveGameState(const CSaveGameState&) = delete;
	CSaveGameState& operator= (const CSaveGameState&) = delete;

	// ints to store the previously saved values
	int redOne;
	int redTwo;
	int redThree;

	int blueOne;
	int blueTwo;
	int blueThree;

	int tempRed;
	int tempBlue;

	SaveState m_eState = DEFAULT;

	int m_nCursor = 0;
	int m_nSaveCursor = 0;
	int m_nLoadCursor = 0;

	float m_fInputDelay = 0;
};

